package bytecode.annotation;

public interface ByteBuddyTemplate {
    // 接口层
    public void method();
    // 抽象层
    public abstract class AbstractBase implements ByteBuddyTemplate {
        public void method() {
            System.out.println("base");
        }
    }
    // 实现层
    public static class sub01 extends AbstractBase{
        @Override
        public void method() {
            super.method();
            System.out.println("sub01");
        }
    }

    public static class sub02 extends AbstractBase {
        @Override
        public void method() {
            super.method();
            System.out.println("sub02");
        }
    }
    // 实现层- 常用枚举模式
    enum sub03 implements ByteBuddyTemplate{
        INSTANCE;

        @Override
        public void method() {

        }
    }

}
